
package models;

import javax.swing.ImageIcon;

/*****************************************************************************************************
 *@author Tjarco    team75
 * 
 * Een klasse waaruit memory kaart objecten gemaakt kunnen worden
 *      elke kaart heeft een soort, met een corrosponderend plaatje.
 *****************************************************************************************************/
public class Memory_card {
    
    //maak de variabelen.
    boolean isActive;
    int soort;
    boolean kaartBestaat;
    public final int A1 = 0;
    public final int A2 = 1;
    public final int B1 = 2;
    public final int B2 = 3;
    public final int C1 = 4;
    public final int C2 = 5;
    public final int D1 = 6;
    public final int D2 = 7;
    public final int E1 = 8;
    public final int E2 = 9;
    public final int F1 = 10;
    public final int F2 = 11;
    ImageIcon plaatjeOpKaart;
    final String a1 = "/memoryKaarten/a1.png";
    final String a2 = "/memoryKaarten/a2.png";
    final String b1 = "/memoryKaarten/b1.png";
    final String b2 = "/memoryKaarten/b2.png";
    final String c1 = "/memoryKaarten/c1.png";
    final String c2 = "/memoryKaarten/c2.png";
    final String d1 = "/memoryKaarten/d1.png";
    final String d2 = "/memoryKaarten/d2.png";
    final String e1 = "/memoryKaarten/e1.png";
    final String e2 = "/memoryKaarten/e2.png";
    final String f1 = "/memoryKaarten/f1.png";
    final String f2 = "/memoryKaarten/f2.png";
    final String dichteKaart = "/memoryKaarten/memoryKaartBackt.png";
    
    
    //constructor. De soort van de kaart moet worden gegeven.
    public Memory_card(int soort){
        this.soort = soort;
        this.isActive = false;
        kaartBestaat = true;
        plaatjeOpKaart = new ImageIcon(getClass().getResource(dichteKaart));    
              
    }
    
    //Zet de kaart op actief (de kaart wordt omgedraaid)
    public void setActive(){
        if(this.checkKaartBestaat()){
            this.isActive = true;
        
            switch (this.soort){
            case A1: plaatjeOpKaart = new ImageIcon(getClass().getResource(a1)); break;
            case A2: plaatjeOpKaart = new ImageIcon(getClass().getResource(a2)); break;
            case B1: plaatjeOpKaart = new ImageIcon(getClass().getResource(b1)); break;
            case B2: plaatjeOpKaart = new ImageIcon(getClass().getResource(b2)); break;
            case C1: plaatjeOpKaart = new ImageIcon(getClass().getResource(c1)); break;
            case C2: plaatjeOpKaart = new ImageIcon(getClass().getResource(c2)); break;
            case D1: plaatjeOpKaart = new ImageIcon(getClass().getResource(d1)); break;
            case D2: plaatjeOpKaart = new ImageIcon(getClass().getResource(d2)); break;
            case E1: plaatjeOpKaart = new ImageIcon(getClass().getResource(e1)); break;
            case E2: plaatjeOpKaart = new ImageIcon(getClass().getResource(e2)); break;
            case F1: plaatjeOpKaart = new ImageIcon(getClass().getResource(f1)); break;
            case F2: plaatjeOpKaart = new ImageIcon(getClass().getResource(f2)); break;    
        }
        }
    }
    
    public void setInactive(){
            if(this.checkKaartBestaat()){
            this.isActive = false;
            plaatjeOpKaart = new ImageIcon(getClass().getResource(dichteKaart));
            }
    }
    
    public ImageIcon getIcon(){
        return this.plaatjeOpKaart;
    }
    
    public boolean testIsActive(){
         return this.isActive;
}
    
    public int getSoort(){
        return this.soort;
}
    
    public void verwijderKaart(){
        kaartBestaat = false;
        this.plaatjeOpKaart = null;
        this.isActive = false;
    }
    
    public boolean checkKaartBestaat(){
        return this.kaartBestaat;
    }
    
    
    
}
